/* 保持你现有样式，以下为 v0.6.4 扩展补丁 */
:root{ --ring: rgba(99,102,241,.35) }
html, body { height: 100% }
body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';
}
.card { border-radius: 1rem; box-shadow: 0 8px 24px rgba(0,0,0,.06) }
.ring-focus:focus{ outline: none; box-shadow: 0 0 0 3px var(--ring) }
.badge{ font-size:.75rem; padding:.15rem .5rem; border-radius:.5rem }
.navbtn{ padding:.4rem .7rem; border-radius:.6rem }

/* due 状态色 */
.task.overdue { border-color: rgb(248 113 113); background-color: rgb(254 242 242); }
.task.soon    { border-color: rgb(251 191 36);  background-color: rgb(255 251 235); }
.badge-rose   { background:#fee2e2; color:#b91c1c }
.badge-amber  { background:#fef3c7; color:#b45309 }
.badge-green  { background:#dcfce7; color:#166534 }

/* 类别管理 */
.cat-row { display:flex; align-items:center; gap:.5rem; }
.cat-row .name { padding:.2rem .5rem; border-radius:.5rem; background:#f1f5f9 }
.cat-row button { padding:.2rem .5rem; border-radius:.4rem; background:#e2e8f0 }
.cat-row button:hover{ background:#cbd5e1 }

/* 拖拽 */
.droptarget.dragover { outline: 2px dashed #6366f1; outline-offset: 4px; background: #eef2ff }
.task.dragging { opacity: .6 }

/* 周回顾可视化 */
.kpis{ display:grid; gap:.75rem; grid-template-columns: repeat(3,1fr); }
.kpi{ border:1px solid rgb(226 232 240); border-radius:.75rem; padding:.75rem; background:white; }
.kpi .label{ font-size:.75rem; color:#64748b }
.kpi .value{ font-size:1.25rem; font-weight:700 }

.bars{ display:flex; align-items:flex-end; gap:6px; height:84px; }
.bar{ width:12px; background:linear-gradient(180deg, rgba(14,165,233,.8), rgba(14,165,233,.25)); border-radius:6px 6px 0 0 }

.donut-wrap{ display:flex; align-items:center; gap:12px }
.donut{
  --size: 86px;
  width:var(--size); height:var(--size); border-radius:50%;
  background: conic-gradient(#10b981 calc(var(--p)*1%), #f43f5e 0);
  display:grid; place-items:center;
}
.donut::after{ content:""; width:calc(var(--size) - 26px); height:calc(var(--size) - 26px); border-radius:50%; background:#fff }
.legend{ display:flex; gap:12px; font-size:.8rem; color:#64748b }
.legend .dot{ width:10px; height:10px; border-radius:999px; display:inline-block; margin-right:6px }
.legend .dot.em{ background:#10b981 } .legend .dot.rose{ background:#f43f5e }

.catbars{ display:grid; gap:8px }
.catbar{ display:grid; grid-template-columns: 120px 1fr 48px; gap:8px; align-items:center }
.catbar .name{ font-size:.85rem; color:#334155 }
.catbar .track{ height:12px; border-radius:999px; background:#f1f5f9; overflow:hidden }
.catbar .fill{ height:100%; background:linear-gradient(90deg,#06b6d4,#10b981) }
.catbar .val{ text-align:right; font-size:.8rem; color:#64748b }

/* 完成列隐藏逾期徽标 */
#colDone .dueflag{ display:none !important }
#colDone .task.overdue, #colDone .task.soon{ background:white; border-color: rgb(226 232 240) }

/* 任务卡上的类型徽标 */
.kindflag.core{ background:#e0e7ff; color:#3730a3 }       /* 主业 */
.kindflag.enabling{ background:#dbeafe; color:#1e40af }   /* 赋能 */
.kindflag.admin{ background:#fee2e2; color:#991b1b }      /* 行政 */
.kindflag.life{ background:#f1f5f9; color:#334155 }       /* 生活 */